<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Mesa Release Notes</title>
  <link rel="stylesheet" type="text/css" href="../mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="../contents.html"></iframe>
<div class="content">

<h1>Mesa 7.10.1 Release Notes / March 2, 2011</h1>

<p>
Mesa 7.10.1 is a bug fix release which fixes bugs found since the 7.10 release.
</p>
<p>
Mesa 7.10.1 implements the OpenGL 2.1 API, but the version reported by
glGetString(GL_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 2.1.
</p>
<p>
See the <a href="../install.html">Compiling/Installing page</a> for prerequisites
for DRI hardware acceleration.
</p>


<h2>MD5 checksums</h2>
<pre>
4b4cee19f3bf16eb78bd4cc278ccf812  MesaLib-7.10.1.tar.gz
efe8da4d80c2a5d32a800770b8ce5dfa  MesaLib-7.10.1.tar.bz2
0fd2b1a025934de3f8cecf9fb9b57f4c  MesaLib-7.10.1.zip
42beb0f5188d544476c19496f725fa67  MesaGLUT-7.10.1.tar.gz
637bb8a20fdad89f7382b4ea83f896e3  MesaGLUT-7.10.1.tar.bz2
bdbf3ffb2606d6aa8afabb6c6243b91b  MesaGLUT-7.10.1.zip
</pre>


<h2>New features</h2>
<p>None.</p>

<h2>Bug fixes</h2>
<p>This list is likely incomplete.</p>
<ul>
<li>Fix an off-by-one bug in a vsplit assertion.</li>
<li>Fix incorrect handling of <tt>layout</tt> qualifier
with <tt>in</tt>, <tt>out</tt>, <tt>attribute</tt>, and <tt>varying</tt>.</li>

<li>Fix an i965 shader bug where the negative absolute value was generated instead of the absolute value of a negation.</li>

<li>Fix numerous issues handling precision qualifiers in GLSL ES.</li>

<li>Fixed a few GLX protocol encoder bugs (Julien Cristau)</li>

<li>Assorted Gallium llvmpipe driver bug fixes</li>

<li>Assorted Mesa/Gallium state tracker bug fixes</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=26795">Bug 26795</a> - gl_FragCoord off by one in Gallium drivers.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29164">Bug 29164</a> - [GLSL 1.20] invariant variable shouldn't be used before declaration</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29823">Bug 29823</a> - GetUniform[if]v busted</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=29927">Bug 29927</a> - [glsl2] fail to compile shader with constructor for array of struct type</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=30156">Bug 30156</a> - [i965] After updating to Mesa 7.9, Civilization IV starts to show garbage</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31923">Bug 31923</a> - [GLSL 1.20] allowing inconsistent centroid declaration between two vertex shaders</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=31925">Bug 31925</a> - [GLSL 1.20] "#pragma STDGL invariant(all)" fail</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32214">Bug 32214</a> - [gles2]no link error happens when missing vertex shader or frag shader</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32375">Bug 32375</a> - [gl gles2] Not able to get the attribute by function glGetVertexAttribfv</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32541">Bug 32541</a> - Segmentation Fault while running an HDR (high dynamic range) rendering demo</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32569">Bug 32569</a> - [gles2] glGetShaderPrecisionFormat not implemented yet</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32695">Bug 32695</a> - [glsl] SIGSEGV glcpp/glcpp-parse.y:833</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32831">Bug 32831</a> - [glsl] division by zero crashes GLSL compiler</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=32910">Bug 32910</a> - Keywords 'in' and 'out' not handled properly for GLSL 1.20 shaders</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33219">Bug 33219</a> -[GLSL bisected] implicit sized array triggers segfault in ir_to_mesa_visitor::copy_propagate</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33306">Bug 33306</a> - GLSL integer division by zero crashes GLSL compiler</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33308">Bug 33308</a> -[glsl] ast_to_hir.cpp:3016: virtual ir_rvalue* ast_jump_statement::hir(exec_list*, _mesa_glsl_parse_state*): Assertion `ret != __null' failed.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33316">Bug 33316</a> - uniform array will be allocate one line more and initialize it when it was freed will abort</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33386">Bug 33386</a> - Dubious assembler in read_rgba_span_x86.S</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33388">Bug 33388</a> - Dubious assembler in xform4.S</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33433">Bug 33433</a> - Error in x86-64 API dispatch code.</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33507">Bug 33507</a> - [glsl] GLSL preprocessor modulus by zero crash</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33508">Bug 33508</a> - [glsl] GLSL compiler modulus by zero crash</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=33916">Bug 33916</a> - Compiler accepts reserved operators % and %=</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34030">Bug 34030</a> - [bisected] Starcraft 2: some effects are corrupted or too big</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34047">Bug 34047</a> - Assert in _tnl_import_array() when using GLfixed vertex datatypes with GLESv2</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34114">Bug 34114</a> - Sun Studio build fails due to standard library functions not being in global namespace</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34179">Bug 34179</a> - Nouveau 3D driver: nv50_pc_emit.c:863 assertion error kills Compiz</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=34198">Bug 34198</a> - [GLSL] implicit sized array with index 0 used gets assertion</li>

<li><a href="https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/691653">Ubuntu bug 691653</a> - compiz crashes when using alt-tab (the radeon driver kills it) </li>

<li><a href="https://bugs.meego.com/show_bug.cgi?id=13005">Meego bug 13005</a> - Graphics GLSL issue lead to camera preview fail on Pinetrail</li>

<!-- <li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=">Bug </a> - </li> -->

</ul>


<h2>Changes</h2>
<p>The full set of changes can be viewed by using the following GIT command:</p>

<pre>
  git log mesa-7.10..mesa-7.10.1
</pre>

<p>Alberto Milone (1):</p>
<ul>
  <li>r600c: add evergreen ARL support.</li>
</ul>

<p>Brian Paul (21):</p>
<ul>
  <li>draw: Fix an off-by-one bug in a vsplit assertion.</li>
  <li>docs: add links to 7.9.1 and 7.10 release notes</li>
  <li>docs: added news item for 7.9.1 and 7.10 release</li>
  <li>gallivm: work around LLVM 2.6 bug when calling C functions</li>
  <li>gallivm: fix copy&amp;paste error from previous commit</li>
  <li>mesa: fix a few format table mistakes, assertions</li>
  <li>mesa: fix num_draw_buffers==0 in fixed-function fragment program generation</li>
  <li>mesa: don't assert in GetIntegerIndexed, etc</li>
  <li>mesa: check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li>
  <li>llvmpipe: make sure binning is active when we begin/end a query</li>
  <li>st/mesa: fix incorrect fragcoord.x translation</li>
  <li>softpipe: fix off-by-one error in setup_fragcoord_coeff()</li>
  <li>cso: fix loop bound in cso_set_vertex_samplers()</li>
  <li>st/mesa: fix incorrect glCopyPixels position on fallback path</li>
  <li>st/mesa: set renderbuffer _BaseFormat in a few places</li>
  <li>st/mesa: fix the default case in st_format_datatype()</li>
  <li>st/mesa: need to translate clear color according to surface's base format</li>
  <li>docs: update 7.9.2 release notes with Brian's cherry-picks</li>
  <li>docs: add link to 7.10.1 release notes</li>
  <li>mesa: implement glGetShaderPrecisionFormat()</li>
  <li>docs: updated environment variable list</li>
</ul>

<p>Bryce Harrington (1):</p>
<ul>
  <li>r300g: Null pointer check for buffer deref in gallium winsys</li>
</ul>

<p>Chad Versace (20):</p>
<ul>
  <li>glsl: At link-time, check that globals have matching centroid qualifiers</li>
  <li>glcpp: Fix segfault when validating macro redefinitions</li>
  <li>glsl: Fix parser rule for type_specifier</li>
  <li>glsl: Change default value of ast_type_specifier::precision</li>
  <li>glsl: Add semantic checks for precision qualifiers</li>
  <li>glsl: Add support for default precision statements</li>
  <li>glsl: Remove redundant semantic check in parser</li>
  <li>glsl: Fix semantic checks on precision qualifiers</li>
  <li>glsl: Fix segfault due to missing printf argument</li>
  <li>glsl: Mark 'in' variables at global scope as read-only</li>
  <li>mesa: Refactor handling of extension strings</li>
  <li>mesa: Add/remove extensions in extension string</li>
  <li>mesa: Change dependencies of some OES extension strings</li>
  <li>mesa: Change OES_point_sprite to depend on ARB_point_sprite</li>
  <li>mesa: Change OES_standard_derivatives to be stand-alone extension</li>
  <li>i915: Disable extension OES_standard_derivatives</li>
  <li>glcpp: Raise error when modulus is zero</li>
  <li>glsl: Set operators '%' and '%=' to be reserved when GLSL &lt; 1.30</li>
  <li>glsl: Reinstate constant-folding for division by zero</li>
  <li>tnl: Add support for datatype GL_FIXED in vertex arrays</li>
</ul>

<p>Chia-I Wu (1):</p>
<ul>
  <li>mesa: Add glDepthRangef and glClearDepthf to APIspec.xml.</li>
</ul>

<p>Christoph Bumiller (1):</p>
<ul>
  <li>nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs</li>
</ul>

<p>Cyril Brulebois (1):</p>
<ul>
  <li>Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org</li>
</ul>

<p>Dave Airlie (3):</p>
<ul>
  <li>radeon/r200: fix fbo-clearmipmap + gen-teximage</li>
  <li>radeon: calculate complete texture state inside TFP function</li>
  <li>radeon: avoid segfault on 3D textures.</li>
</ul>

<p>Dimitry Andric (4):</p>
<ul>
  <li>mesa: s/movzx/movzbl/</li>
  <li>mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S</li>
  <li>glapi: adding @ char before type specifier in glapi_x86.S</li>
  <li>glapi: add @GOTPCREL relocation type</li>
</ul>

<p>Eric Anholt (16):</p>
<ul>
  <li>glsl: Fix the lowering of variable array indexing to not lose write_masks.</li>
  <li>i965/fs: When producing ir_unop_abs of an operand, strip negate.</li>
  <li>i965/vs: When MOVing to produce ABS, strip negate of the operand.</li>
  <li>i965/fs: Do flat shading when appropriate.</li>
  <li>i965: Avoid double-negation of immediate values in the VS.</li>
  <li>intel: Make renderbuffer tiling choice match texture tiling choice.</li>
  <li>i965: Fix dead pointers to fp-&gt;Parameters-&gt;ParameterValues[] after realloc.</li>
  <li>docs: Add a relnote for the Civ IV on i965.</li>
  <li>glapi: Add entrypoints and enums for GL_ARB_ES2_compatibility.</li>
  <li>mesa: Add extension enable bit for GL_ARB_ES2_compatibility.</li>
  <li>mesa: Add actual support for glReleaseShaderCompiler from ES2.</li>
  <li>mesa: Add support for glDepthRangef and glClearDepthf.</li>
  <li>mesa: Add getters for ARB_ES2_compatibility MAX_*_VECTORS.</li>
  <li>mesa: Add getter for GL_SHADER_COMPILER with ARB_ES2_compatibility.</li>
  <li>i965: Fix a bug in i965 compute-to-MRF.</li>
  <li>i965/fs: Add a helper function for detecting math opcodes.</li>
</ul>

<p>Fredrik Höglund (1):</p>
<ul>
  <li>st/mesa: fix a regression from cae2bb76</li>
</ul>

<p>Ian Romanick (42):</p>
<ul>
  <li>docs: Add 7.10 md5sums</li>
  <li>glsl: Support the 'invariant(all)' pragma</li>
  <li>glcpp: Generate an error for division by zero</li>
  <li>glsl: Add version_string containing properly formatted GLSL version</li>
  <li>glsl &amp; glcpp: Refresh autogenerated lexer and parser files.</li>
  <li>glsl: Disallow 'in' and 'out' on globals in GLSL 1.20</li>
  <li>glsl: Track variable usage, use that to enforce semantics</li>
  <li>glsl: Allow 'in' and 'out' when 'layout' is also available</li>
  <li>docs: Initial bits of 7.10.1 release notes</li>
  <li>mesa: bump version to 7.10.1-devel</li>
  <li>doc: Update 7.10.1 release notes</li>
  <li>glsl: Emit errors or warnings when 'layout' is used with 'attribute' or 'varying'</li>
  <li>docs: Update 7.10.1 release notes</li>
  <li>glsl: Refresh autogenerated lexer and parser files.</li>
  <li>glsl: Don't assert when the value returned by a function has no rvalue</li>
  <li>linker: Set sizes for non-global arrays as well</li>
  <li>linker: Propagate max_array_access while linking functions</li>
  <li>docs: Update 7.10.1 release notes</li>
  <li>mesa: glGetUniform only returns a single element of an array</li>
  <li>linker: Generate link errors when ES shaders are missing stages</li>
  <li>mesa: Fix error checks in GetVertexAttrib functions</li>
  <li>Use C-style system headers in C++ code to avoid issues with std:: namespace</li>
  <li>docs: Update 7.10.1 release notes</li>
  <li>glapi: Regenerate for GL_ARB_ES2_compatibility.</li>
  <li>mesa: Connect glGetShaderPrecisionFormat into the dispatch table</li>
  <li>i965: Set correct values for range/precision of fragment shader types</li>
  <li>i915: Set correct values for range/precision of fragment shader types</li>
  <li>intel: Fix typeos from 3d028024 and 790ff232</li>
  <li>glsl: Ensure that all GLSL versions are supported in the stand-alone compiler</li>
  <li>glsl: Reject shader versions not supported by the implementation</li>
  <li>mesa: Initial size for secondary color array is 3</li>
  <li>glsl: Finish out the reduce/reduce error fixes</li>
  <li>glsl: Regenerate compiler and glcpp files from cherry picks</li>
  <li>linker: Fix off-by-one error implicit array sizing</li>
  <li>docs: update 7.10.1 release notes with Ian's recent cherry picks</li>
  <li>i915: Only mark a register as available if all components are written</li>
  <li>i915: Calculate partial result to temp register first</li>
  <li>i915: Force lowering of all types of indirect array accesses in the FS</li>
  <li>docs: Update 7.10.1 with (hopefully) the last of the cherry picks</li>
  <li>docs: Clean up bug fixes list</li>
  <li>intel: Remove driver date and related bits from renderer string</li>
  <li>mesa: set version string to 7.10.1 (final)</li>
</ul>

<p>Jian Zhao (1):</p>
<ul>
  <li>mesa: fix an error in uniform arrays in row calculating.</li>
</ul>

<p>Julien Cristau (3):</p>
<ul>
  <li>glx: fix request lengths</li>
  <li>glx: fix GLXChangeDrawableAttributesSGIX request</li>
  <li>glx: fix length of GLXGetFBConfigsSGIX</li>
</ul>

<p>Keith Packard (1):</p>
<ul>
  <li>glsl: Eliminate reduce/reduce conflicts in glsl grammar</li>
</ul>

<p>Kenneth Graunke (20):</p>
<ul>
  <li>glsl: Expose a public glsl_type::void_type const pointer.</li>
  <li>glsl: Don't bother unsetting a destructor that was never set.</li>
  <li>glsl, i965: Remove unnecessary talloc includes.</li>
  <li>glcpp: Remove use of talloc reference counting.</li>
  <li>ralloc: Add a fake implementation of ralloc based on talloc.</li>
  <li>Convert everything from the talloc API to the ralloc API.</li>
  <li>ralloc: a new MIT-licensed recursive memory allocator.</li>
  <li>Remove talloc from the make and automake build systems.</li>
  <li>Remove talloc from the SCons build system.</li>
  <li>Remove the talloc sources from the Mesa repository.</li>
  <li>glsl: Fix use of uninitialized values in _mesa_glsl_parse_state ctor.</li>
  <li>i965/fs: Apply source modifier workarounds to POW as well.</li>
  <li>i965: Fix shaders that write to gl_PointSize on Sandybridge.</li>
  <li>i965/fs: Avoid register coalescing away gen6 MATH workarounds.</li>
  <li>i965/fs: Correctly set up gl_FragCoord.w on Sandybridge.</li>
  <li>i965: Increase Sandybridge point size clamp.</li>
  <li>i965/fs: Refactor control flow stack handling.</li>
  <li>i965: Increase Sandybridge point size clamp in the clip state.</li>
  <li>glsl: Use reralloc instead of plain realloc.</li>
  <li>Revert "i965/fs: Correctly set up gl_FragCoord.w on Sandybridge."</li>
</ul>

<p>Marek Olšák (4):</p>
<ul>
  <li>docs: fix messed up names with special characters in relnotes-7.10</li>
  <li>docs: fix messed up names with special characters in relnotes-7.9.1</li>
  <li>mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2</li>
  <li>st/dri: Track drawable context bindings</li>
</ul>

<p>Paulo Zanoni (1):</p>
<ul>
  <li>dri_util: fail driCreateNewScreen if InitScreen is NULL</li>
</ul>

<p>Sam Hocevar (2):</p>
<ul>
  <li>docs: add glsl info</li>
  <li>docs: fix glsl_compiler name</li>
</ul>

<p>Tom Fogal (1):</p>
<ul>
  <li>Regenerate gl_mangle.h.</li>
</ul>

<p>Tom Stellard (2):</p>
<ul>
  <li>r300/compiler: Disable register rename pass on r500</li>
  <li>r300/compiler: Don't erase sources when converting RGB-&gt;Alpha</li>
</ul>

<p>Vinson Lee (3):</p>
<ul>
  <li>ralloc: Add missing va_end following va_copy.</li>
  <li>mesa: Move declaration before code in extensions.c.</li>
  <li>mesa: Move loop variable declarations outside for loop in extensions.c.</li>
</ul>

<p>nobled (1):</p>
<ul>
  <li>glx: Put null check before use</li>
</ul>

</div>
</body>
</html>
